<?php
/**
 * Kelas utility untuk file.
 *
 * Kelas ini menyediakan fitur yang berkaitan dengan file.
 *
 * @category   Controllers
 * @package    System
 * @author     Lie Roberto Eliantono <roberto.ea@gmail.com>
 * @version    0.2.2
 */
class File extends MX_Controller {

	public function __construct()
	{
		parent::__construct();
	}

	/**
	 * Menentukan method yang dipanggil ketika controller diakses
	 *
	 * Karena controller ini tidak dimaksudkan untuk diakses langsung,
	 * method ini hanya akan melakukan redirect ke referrer
	 *
	 * @return void
	 * @access public
	 */		
	public function index()
	{
		redirect($this->referrer);
	}

	/**
	 * Mem-force download sebuah file
	 *
	 * Method ini 'memaksa' browser untuk men-download file yang ditentukan
	 *
	 * @param string	$filename	string yang berisi nama file hasil download
	 * @param mixed 	$data		data yang akan di-download
	 *                    
	 * @return void
	 * @access public
	 */
	public function download($filename = false, $data = null)
	{
		if (!$filename)
			$filename = $this->input->post('filename');
		if (is_null($data)) {
			$data = $this->input->post('data');
		}
		
		$data = decode_from_uri($data);
			
		if ($filename) {
			force_download($filename, $data); 
		}
	}
}

/* EOF controllers/file.php */